A Runtime System for Generalized Committed Choice
نویسندگان
چکیده
Traditional nondeterministic programming constructs (Dijkstra guards, CCP [6] and deep guards [10]) do not allow operations which modify the runtime environment without committing to a particular alternative. Generalized committed choice (GCC) allows speculative computations across different alternatives to execute in parallel and isolation. Speculation implicitly forks an environment into separate ones for the alternatives and later one of these environments can be committed to [3]. Speculations from concurrent processes can nevertheless interleave and synchronize against each other. In this paper, we present a concrete architecture, its implementation and optimizations for GCC where the store of the environment is in the form of record spaces. Our prototype implementation allows GCC to be embedded in traditional languages such as C/C++. Preliminary experimental results show that our runtime and GCC extension is a suitable coordination language for programming multiple distributed agents which employ speculation and choices.
منابع مشابه
Generalized Committed Choice
We present a generalized committed choice construct for concurrent programs that interact with a shared store. The generalized committed choice (GCC) allows multiple computations from different alternatives to occur concurrently and later commit to one of them. GCC generalizes the traditional committed choice in Dijkstra’s Guarded Command Language to handle don’t know non-determinism and also a...
متن کاملImplementing a Finite Domain Constraint Solving System in KLIC
The paper presents CHUKL, a parallel nite-domain constraint solving system. The implementation is written in the concurrent logic programming language KL1, instead of C. The work challenges the assumption that committed choice concurrent logic programming languages cannot deal with don't know non-determinism. A dynamic forking scheme is designed and implemented to handle choicepoint making. The...
متن کاملCycle Time Reduction and Runtime Rebalancing by Reallocating Dependent Tasks
Business Process Management Systems (BPMS) is a complex information system that provides designing, administrating, and improving the business processes. Task allocation to human resources is one of the most important issues which should be managed more efficiently in BPMS. Task allocation algorithms are defined in order to meet the various policies of organizations. The most important of these...
متن کاملShared Paged Binding Array: A Universal Datastructure for Parallel Logic Programming
Two major problems that arise in parallel logic programming systems are: (i) redundant computation during and-parallel execution of dependent goals, and, (ii) eecient representation of multiple environments at runtime. Both these problems are caused by non-determinism present in logic programs|responsible for much of the power of logic programming. This paper is mainly concerned with solving th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012